﻿function checkIsInteger(str)
{
     //如果为空，则通过校验
     if(str == '')
         return true;
     if(/^\d+(\.\d+)?$/.test(str))
         return true;
     else
         return false;
}
function checkIsDouble(str)
{
     //如果为空，则通过校验
     if(str == '')
         return true;
     //如果是整数，则校验整数的有效性
     if(str.indexOf('.') == -1)
     {
         if(checkIsInteger(str) == true)
             return true;
         else
             return false;
     }
     else
     {
         if(/^(\-?)(\d+)(.{1})(\d+)$/g.test(str))
             return true;
         else
             return false;
     }
}
$(document).ready(function(){
    ///验证浮点型
    /*
        <input id="input" type=text isdouble=0>
    */
    $('[isdouble=0]').each(function(){
        $(this).bind('focus',function(){
            var _value=$(this).val();
            $(this).attr('oldvalue',_value);
        });
        $(this).bind('blur',function(){
            var _oldvalue=$(this).attr('oldvalue');
            var _value=$(this).val();
            if(!checkIsDouble(_value))
            {
                alert('数据格式错误,必须输入有效的浮点型数字!');
                $(this).val(_oldvalue);
            }
        });
    });
    ///验证整型
    /*
        <input id="input" type=text isinteger=0>
    */
    $('[isinteger=0]').each(function(){
        $(this).bind('focus',function(){
            var _value=$(this).val();
            $(this).attr('oldvalue',_value);
        });
        $(this).bind('blur',function(){
            var _oldvalue=$(this).attr('oldvalue');
            var _value=$(this).val();
            if(!checkIsInteger(_value))
            {
                alert('数据格式错误,必须输入有效的整型数字!');
                $(this).val(_oldvalue);
            }
           
        });
    });
    ///验证Email
    /*
        <input id="input" type=text isemail=0>
    */
    $('[isemail=0]').each(function(){
        $(this).bind('focus',function(){
            var _value=$(this).val();
            $(this).attr('oldvalue',_value);
        });
        $(this).bind('blur',function(){
            var _oldvalue=$(this).attr('oldvalue');
            var _value=$(this).val();
            if(Trim(_value)=="")
                return;
            if (_value.charAt(0) == '.' || _value.charAt(0) == '@' || _value.indexOf('@', 0) == -1
     || _value.indexOf('.', 0) == -1 || _value.lastIndexOf('@') == _value.length-1 || _value.lastIndexOf('.') == _value.length-1)
            {
                alert('数据格式错误,必须输入有效的Email地址!');
                $(this).val(_oldvalue);
            }
        });
    });        
});
